1
Au-delà de l'historique linéaire : Quand le fast-forward échoue
AI016Lesson 5
00:00

Historique linéaire via le fast-forward n'est possible que lorsque l'historique des branches forme une ligne droite de descendants. Dès que la branche principale et la branche fonctionnalité se séparent, le simple « déplacement du pointeur » d'un merge en fast-forward devient mathématiquement impossible.

1. La distinction concrète

Les fusion en fast-forward ne sont pas réfléchies dans l'historique du projet. Cela signifie que l'existence unique de la branche est effectivement effacée lors de son intégration. En revanche, les fusion en trois voies préservent le récit du travail parallèle.

2. Le principe de l'historien

La branche principale master agit comme l'historien de tout notre projet. Elle ne peut enregistrer que ce que nous lui permettons de voir ; lorsque les chemins se séparent, nous sommes obligés de créer un nouvel « événement » — un commit de fusion — pour combler le fossé et reconcilier deux réalités différentes qui ont évolué simultanément. commit de fusion—to bridge the gap and reconcile two different realities that evolved simultaneously.

C1C2 (Principale)Master (Séparée)Fou (Fonctionnalité)Chemins divergents (non linéaires)

3. Détection de la divergence

En utilisant git log --oneline, les développeurs peuvent visualiser où les chemins se séparent. Si « master » a avancé depuis que vous avez créé votre branche, Git ne peut pas déplacer le pointeur en avant sans perdre le nouveau travail sur master.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>